export default {
  data() {
    return {
      scrollList: [],
      mescroll: null, // mescroll实例对象
      mescrollDown: {
        callback: this.downCallback,
      }, // 下拉刷新的配置. (如果下拉刷新和上拉加载处理的逻辑是一样的,则mescrollDown可不用写了)
      mescrollUp: {
        // 上拉加载的配置.
        callback: this.upCallback, // 上拉回调,此处简写; 相当于 callback: function(page, mescroll) { }
        // 以下是一些常用的配置,当然不写也可以的.
        page: {
          num: 0, // 当前页 默认0,回调之前会加1; 即callback(page)会从1开始
          size: 50, // 每页数据条数,默认10
        },
        htmlNodata: '<p class="upwarp-nodata">-- END --</p>',
      },
    };
  },
  methods: {
    // mescroll组件初始化的回调,可获取到mescroll对象
    mescrollInit(mescroll) {
      this.mescroll = mescroll; // 如果this.mescroll对象没有使用到,则mescrollInit可以不用配置
    },
    upCallback(mpage, mescroll) {
      this.handleGetList(mpage.num, mpage.size).then((res) => {
        res = res.map((item) => ({
          ...item,
          xuhao: item.xuhao.toString().padStart(3, "0"),
        }));
        if (mpage.num === 1) {
          this.scrollList = [];
        }
        this.scrollList.push(...res);
        // 数据渲染成功后,隐藏下拉刷新的状态
        this.$nextTick(() => {
          mescroll.endSuccess(res.length);
        });
      });
    },
    downCallback() {
      this.mescroll.resetUpScroll();
    },
  },
};
